home *** CD-ROM | disk | FTP | other *** search
- Path: grafix.xs4all.nl!john.hendrikx
- Date: Wed, 07 Feb 96 21:11:00 GMT+1
- Newsgroups: comp.sys.amiga.programmer
- Distribution: world
- Subject: Re: Copy Protection
- MIME-Version: 1.0
- Content-Type: text/plain; charset=iso-8859-1
- Content-Transfer-Encoding: 8bit
- From: john.hendrikx@grafix.xs4all.nl (John Hendrikx)
- Message-ID: <john.hendrikx.4cnv@grafix.xs4all.nl>
- Organization: Grafix Attack BBS Holland
-
- In a message of 01 Feb 96 Darius Taghavy wrote to All:
-
- DT> I am seriously considering to copyprotect my application before release.
- DT> I have strong reasons for doing so, but I hope to start a technical
- DT> threat, not a philosophical one.
-
- DT> In taking this step I do not wish to create any hassles for my users,
- DT> but to protect my and their investment to be able to offer continued
- DT> support and development as I am very serious about this product.
-
- DT> Runtime
- DT> -------
- DT> Requirements:
- DT> - executable must run from hard disk
- DT> - no key disk required
-
- Let me just point out that dongle-protection is as bad, maybe even worse as a
- key disk.
-
- DT> - no manual look up
- DT> - no DOS protection
-
- DT> Considerations:
- DT> - secret data/code in block that is then mapped as bad block
-
- If I had such a program it would get killed immediately. Messing with the HD is
- not something a program should be doing. How would you map a block as bad
- anyway? Not all HD's have got RDB, and not all HD's use FFS. For all you know
- the program is run from a network, there is no way you can directly access the
- HD in that case.
-
- DT> - username encrypted in executable (during installation)
-
- Good, I would have no problems with that. The only problem with this scheme is
- what to do if you actually find a copy spread all over the Amiga world which
- belongs to a specific user... What legal action can be taken, and can this name
- encryption hold up in court?
-
- DT> - environment variable
-
- There are too many ENV variables as it is, and once discovered this kind of
- protection is easily avoided (well, almost any protection can easily be
- disabled).
-
- DT> - CDROM only, span entire 600MB space, so pirates would have to
- DT> dedicate a 600MB hard disk if they want to steal (unlikely scenario)
-
- That would probably work best. All other protection schemes can easily be
- disabled. Even though it is possible to make copies of CD-ROMs this is
- something only small portions of users have access to.
-
- DT> Installation:
- DT> -------------
- DT> Anything goes, including
- DT> - DOS protection with install counts (like many MAC music apps)
- DT> - username encryption in executable
- DT> - manual lookup
- DT> - customized copies for each customer with encrypted
- DT> serial number, name and environment variable
-
- How about letting the customer call voice or via modem to 'unlock' their copy
- of your program after installation? Not an optimal protection scheme either
- for the legitimate users, but with some work this might be a way of protecting
- the software.
-
- Note though that I didn't say a 'reliable way of protecting software'. This is
- simply not possible.
-
- DT> Hardware Protection (Dongle)
- DT> I would strongly prefer hardware protection, as it seems to present the
- DT> safest, quickest and least messy way to protect my application. Cubase
- DT> and Logic (Mac/Windows) use this with great success. I am aware of
- DT> these options:
-
- Hardware protection is useless. Just like software protection it can easily be
- disabled by removing/disabling the part of the -software- which checks for the
- dongle. Storing vital information within the dongle is an option, but even that
- can be avoided. Also, the more annoying the protection the sooner you'll find
- a version which has the protection disabled. As a legitimate user you should
- not be punished for having bought the software.
-
- DT> - joystick port
- DT> Examples: Pro 24 and Brilliance; have they been cracked?
- DT> what do they contain? A PAL? How do I build and
- DT> support one?
-
- And lose a joystick port? What if I want to use Brilliance and your program at
- the same time? Do I look through my 'box' of dongles to find the one marked
- 'Brilliance' and plug it in when the system prompts me to? I sincerely hope
- this isn't a future scenario.
-
- DT> - parallel port (with pass thru)
- DT> Seen ads in PC related mags, I believe they use PALs, but
- DT> seemed very expensive
-
- I have my doubts if a parallel port dongle 'with pass thru' will ever work
- reliably with all parallel software. There have been reports of dongles not
- working with printers or ParNET. Having a dongle with a program would make me
- seriously consider not buying it at all.
-
- I like to add one more thing. Some software publishers look at how badly some
- of their products are pirated and then think how much money they would have
- made if those people hadn't pirated it. What they however forget is that,
- given there is no way to pirate their product, that not even half of those
- people would actually be using it. In other words software manufacturers get a
- wrong view of the market for their product. What they are seeing is the market
- for their product if it was free. The market for their product if it was $50
- is much, much smaller -- this curve is certainly not linear, so if 1 million
- users would have used your product for free only 10000 might have used it if it
- was $50.
-
- I think the number of people who would have bought the product if they couldn't
- pirate it isn't that high as some software manufacturers like to think. For
- example, if a game on the clones like 'Heretic' could not be pirated than the
- pirates would have just left the game alone and moved on to other software...
- they still wouldn't have bought it.
-
- Grtz John
-
- -----------------------------------------------------------------------
- John.Hendrikx@grafix.xs4all.nl TextDemo/FastView/Etc... development
- -----------------------------------------------------------------------
- -- Via Xenolink 1.981, XenolinkUUCP 1.1
-